package org.adorsys.aderp.catal.service;

import javax.annotation.PostConstruct;

import org.adorsys.aderp.catal.domain.CatalogData;
import org.adorsys.aderp.catal.repository.ConditioningRepository;
import org.adorsys.aderp.catal.repository.ContainerRepository;
import org.adorsys.aderp.catal.repository.ContainerTypeRepository;
import org.adorsys.aderp.catal.repository.DiscountRepository;
import org.adorsys.aderp.catal.repository.DiscountTypeRepository;
import org.adorsys.aderp.catal.repository.ManufacturerRepository;
import org.adorsys.aderp.catal.repository.ProductClassRepository;
import org.adorsys.aderp.catal.repository.ProductRepository;
import org.adorsys.aderp.catal.repository.ProductTypeRepository;
import org.adorsys.aderp.catal.repository.SubContainerRepository;
import org.adorsys.aderp.catal.repository.UnitRepository;
import org.adorsys.aderp.jpa.impl.RepositoryMap;
import org.adorsys.aderp.jpa.xls.DataImportExportServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;


public class CatalogDataServiceImpl extends DataImportExportServiceImpl<CatalogData> implements CatalogDataService {

    @Autowired
    ConditioningRepository conditioningRepository;
    @Autowired
    ContainerRepository containerRepository;
    @Autowired
    ContainerTypeRepository containerTypeRepository;
    @Autowired
    DiscountRepository discountRepository;
    @Autowired
    DiscountTypeRepository discountTypeRepository;
    @Autowired
    ManufacturerRepository manufacturerRepository;
    @Autowired
    ProductClassRepository productClassRepository;
    @Autowired
    ProductRepository productRepository;
    @Autowired
    ProductTypeRepository productTypeRepository;
    @Autowired
    SubContainerRepository subContainerRepository;
    @Autowired
    UnitRepository unitRepository;

	@Autowired
	RepositoryMap repositoryMap;
	
	@Override
	public Class<CatalogData> dataClass() {
		return CatalogData.class;
	}

	@Override
	public CatalogData newInstance() {
		return new CatalogData();
	}

	@Override
	public RepositoryMap getRepositoryMap() {
		return repositoryMap;
	}


	@PostConstruct
	public void postConstruct(){super.fromPostConstruct();}
}
